home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 4490 / 4490.xpi / components / scripts / daum.js < prev    next >
Encoding:
JavaScript  |  2010-01-20  |  2.9 KB  |  96 lines

  1. /***********************************************************
  2. daum(hanmail)
  3. ***********************************************************/
  4. var hostString="";
  5. var supportInboxOnly=true;
  6. var supportShowFolders=true;
  7.  
  8. function init(){
  9.   this.loginData=["https://logins.daum.net/Mail-bin/login.cgi",
  10.                       "id","pw"];
  11.   this.dataURL="http://hmail2.daum.net/hanmailex/Top.daum";                      
  12.   this.mailURL="http://mail.daum.net/hanmail/Index.daum";
  13.   this.mailDomain="mail.+?.daum.net";
  14.   this.retry=1;
  15. }
  16.  
  17. function process(aHttpChannel, aData) {
  18.   switch(this.stage){
  19.   case ST_LOGIN_RES:
  20.     this.getHtml("http://hmail2.daum.net/hanmailex/Top.daum");
  21.     return false;
  22.   case (ST_LOGIN_RES+1):
  23.     var fnd=aData.match(/goClassic\(/);
  24.     this.isClassic=false;
  25.     if(!fnd){
  26.       this.isClassic=true;
  27.       this.dataURL="http://mail.daum.net/hanmail/Welcome.daum?cid=&msg="
  28.     }else this.dataURL="http://hmail2.daum.net/hanmailex/Top.daum";
  29.     this.stage=ST_DATA;
  30.     break;
  31.   case ST_DATA_RES:
  32.     this.baseProcess(aHttpChannel, aData);
  33.     if(this.mailCount<0){
  34.       if(this.retry<1){
  35.         ++this.retry;
  36.         this.checkMail();
  37.       }
  38.     }else this.retry=0;
  39.     return true;
  40.   }
  41.   return this.baseProcess(aHttpChannel, aData);
  42. }
  43. function getCount(aData){
  44.   return this.mailCount;
  45. }
  46. function getData(aData){
  47.   var obj={}
  48.   if(this.isClassic){
  49.     var fnd=aData.match(/\uc548\uc77d\uc740[\s\S]+?>(\d+)<\/a>\s*?\ud1b5/);
  50.     if(fnd){
  51.       this.mailCount=parseInt(fnd[1]);
  52.     }else{
  53.       this.mailCount=-1;
  54.     }    
  55.     return obj;    
  56.   }else{
  57.     var fnd=aData.match(/folderList:\[([\s\S]+?)\]/);
  58.     if(fnd){
  59.       var ar=[];    
  60.       var num=0;
  61.       var re=/{.+?\'name\':\"(.+?)\".+?\'newCount'\:(\d+)/g;
  62.       var o;
  63.       while ((o = re.exec(fnd[1])) != null){ 
  64.         if(o[1]=="\\uBCF4\\uB0B8\\uD3B8\\uC9C0\\uD568")continue;
  65.         if(o[1]=="\\uC784\\uC2DC\\uBCF4\\uAD00\\uD568")continue;
  66.         if(o[1]=="\\uC2A4\\uD338\\uD3B8\\uC9C0\\uD568")continue;
  67.         if(o[1]=="\\uD734\\uC9C0\\uD1B5")continue;
  68.         if(o[1]==":\\uC218\\uC2E0\\uD655\\uC778:")continue;
  69.         var n=0
  70.         if(o[2])n=parseInt(o[2]);        
  71.         if(this.inboxOnly){
  72.           if(o[1]=="\\uBC1B\\uC740\\uD3B8\\uC9C0\\uD568")num=n;
  73.         }else num+=n;
  74.         if(n>0&&o[1]!="\\uBC1B\\uC740\\uD3B8\\uC9C0\\uD568"){
  75.           var name=unescape(o[1].replace(/\\/g,"%"));
  76.           ar.push(name);
  77.           ar.push(n);
  78.         }                
  79.       }
  80.       this.mailCount=num;
  81.       if(this.showFolders){
  82.         if(ar)obj.folders=encodeArray(ar);
  83.       }
  84.       return obj;
  85.     }else{
  86.       this.mailCount=-1;
  87.       return obj;
  88.     }
  89.   }
  90. }
  91. function getMailURL(aFolder){
  92.   if(!this.isClassic&&aFolder){
  93.     return "http://mail.daum.net/hanmail/Index.daum?COMMAND=list&FOLDER="+encodeURIComponent(aFolder);
  94.   }
  95.   return this.mailURL;  
  96. }